1> 下载安装包
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.6.21.tgz
2> 解压文件并移动到相应的文件夹
tar -zxvf mongodb-linux-x86_64-3.6.21.tgz
mv mongodb-linux-x86_64-3.6.21 /usr/local/mongodb
3> 创建数据及其 log 文件夹
cd /usr/local/mongodb
mkdir data
mkdir data/db
mkdir data/log
sudo chmod 777 data/db
sudo chmod 777 data/log
4> 创建配置文件
vi mongodb.conf
# 数据库数据存放目录
dbpath=/usr/local/mongodb/data/db
# 日志文件存放目录
logpath=/usr/local/mongodb/data/log/mongodb.log
# 日志追加方式
logappend=true
# 端口
port=27017
# 是否认证
auth=true
# 以守护进程方式在后台运行
fork=true
# 远程连接要指定ip,否则无法连接;0.0.0.0代表不限制ip访问
bind_ip=0.0.0.0
5> 配置环境变量
vi /etc/profile
# 在最后新增下面的两行代码
export MONGODB_HOME=/usr/local/mongodb
export PATH=$MONGODB_HOME/bin:$PATH
source /etc/profile # 重启系统配置
6> 启动Mongo服务
mongod -f /usr/local/mongodb/mongodb.conf
7> 开放端口
# 开放27017端口
firewall-cmd --zone=public --add-port=27017/tcp --permanent
# 使配置生效
firewall-cmd --reload
# 查看开放的端口,验证是否成功
firewall-cmd --zone=public --list-ports
8> 关闭mongodb
mongod -f /usr/local/mongodb/mongodb.conf --shutdown
9> 开机自启动
vi /lib/systemd/system/mongodb.service
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongodb/bin/mongod --shutdown -f /usr/local/mongodb/mongodb.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
# 启动mongodb
systemctl start mongodb.service
# 查看服务状态
systemctl status mongodb.service
# 开机自启动
systemctl enable mongodb.service
# 修改mongodb.service文件,需要重新加载文件
systemctl daemon-reload
10> 用户管理
① 创建超级用户
sudo mongod
use admin #必须是 admin ,Admin 则不会添加成功
db.createUser({"user":"python","pwd":"123","roles":["root"]})
# Successfully added user: { "user" : "python", "roles" : [ "root" ] }
exit
② 创建普通用户
a. 在数据库上创建普通用户
选择需要创建用户的数据库
use 数据库名
db.createUser({"user":"hry", "pwd":"pwd", roles:["read"]})
db.createUser({"user":"hry", "pwd":"pwd", roles:["readWrite"]}) # 小驼峰写法
b.在admin用户数据库上创建普通用户
use admin
db.createUser({"user":"hry", "pwd":"pwd", roles:[{"role":"read","db":"dbname1"},{"role":"readWrite","db":"dbname2"}]
})
③ 查看用户
show users
④ 删除用户
use 数据库名
db.dropUser('hry')
⑤ 以认证方式登录
a. 方式 1
use admin
db.auth(username, password)
b. 方式 2
mongo --host ip:port -u 用户 -p 密码 --authenticationDatabase admin